package com.gollum.web.domain;

import cn.hutool.core.util.NumberUtil;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.math.BigDecimal;

/**
 * cpu 实体数据
 *
 * @author Herther
 * @createTime 2022年10月20日 22:21:00
 * @since 1.0.0
 */
@Accessors(chain = true)
@Setter
@ToString
public class Cpu {

    /**
     * 物理CPU数
     */
    private int cpuNum;

    /**
     * CPU总的使用率
     */
    private double total;

    /**
     * CPU系统使用率
     */
    private double sys;

    /**
     * CPU用户使用率
     */
    private double used;

    /**
     * CPU当前等待率
     */
    private double wait;

    /**
     * CPU当前空闲率
     */
    private double free;

    /** 逻辑核心数量 **/
    private int logical;

    /** cpu名称 **/
    private String cpuName;

    /** 物理核心数 **/
    private int physicalNum;


    public int getLogical() {
        return logical;
    }

    public int getPhysicalNum() {
        return physicalNum;
    }

    public String getCpuName() {
        return cpuName;
    }

    public int getCpuNum()
    {
        return cpuNum;
    }


    public BigDecimal getTotal()
    {
        return NumberUtil.round(total, 2);
    }


    public BigDecimal getSys()
    {
        return NumberUtil.round(sys / total, 2);
    }


    public BigDecimal getUsed()
    {
        return NumberUtil.round(used / total, 2);
    }


    public BigDecimal getWait()
    {
        return NumberUtil.round(wait / total, 2);
    }

    public BigDecimal getFree()
    {
        return NumberUtil.round(free / total, 2);
    }

}
